home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Business Assistant
/
Business Assistant.iso
/
checkb
/
db3chk21
/
chkreg.prg
< prev
next >
Wrap
Text File
|
1987-05-25
|
6KB
|
195 lines
* CHKREG.PRG
* This program uses a Lotus 1-2-3 file, CITI.WK1, to manipulate the
* information in the check register.
* Will print the register in check number order
* Will sort the register on the following fields:
* Ref-no, Date, Payee, Memo
SET PROCEDURE TO SCREENS
USE CHECK
STORE "S" TO MDEVICE
STORE 7 TO MSELECT
STORE 0 TO MLINE, MBALANCE
STORE SPACE(20) TO MPAYEE
STORE SPACE(19) TO MMEMO
SUM DEPOSITS - CHECKS FOR OS = 1 TO MOUTST && CALC O/S CHECKS
SET DELETE ON
DO WHILE .T.
CLEAR
DO MENUDRAW
@ 3,20 SAY " Check Register Printout & Analysis "
@ 6,5 SAY " 1) Print Register in Date Order "
@ 7,5 SAY " 2) Print Register in Check Number Order "
@ 8,5 SAY " 3) Print Register by Payee "
@ 9,5 SAY " 4) Print Register by Category "
@ 10,5 SAY " 5) Print a Payee Extract "
@ 11,5 SAY " 6) Print a Category Extract "
@ 13,5 SAY " 7) Exit To Main Menu "
@ 19,5 SAY " Enter Selection " GET MSELECT PICTURE "9" RANGE 1,7
READ
CLEAR
IF MSELECT = 7
EXIT
ENDIF
IF MSELECT = 5
@ 5,5 SAY " Enter Payee to Extract " GET MPAYEE PICTURE "@!"
READ
DELETE ALL FOR .NOT. TRIM(MPAYEE) $PAYEE
ENDIF
IF MSELECT = 6
@ 5,5 SAY "Enter Category to Extract " GET MMEMO PICTURE "@!"
READ
DELETE ALL FOR .NOT. TRIM(MMEMO) $MEMO
ENDIF
&& RANGE SELECTION ROUTINE
MBEGIN = "01/01/86"
EDATE = "12/31/87"
CLEAR
@ 11,3 TO 15,70
@ 12,5 SAY "Begining date (enter as MM/DD/YY)" GET MBEGIN PICTURE "99/99/99"
@ 14,5 SAY "Ending date (enter as MM/DD/YY)" GET EDATE PICTURE "99/99/99"
CLEAR TYPEAHEAD
READ
CLEAR
@ 10,3 TO 14,70
@ 12,15 SAY "Output to the (S)creen or (P)rinter ? " GET MDEVICE picture "!"
READ
CLEAR
@ 10,3 TO 14,70
@ 12,15 SAY " Processing Occurring . . . Please Wait "
IF MDEVICE <> "P" .AND. MDEVICE <> "S"
MDEVICE = "S"
ENDIF
SUM (DEPOSITS-CHECKS) FOR DATE < CTOD(MBEGIN) TO MBALANCE && }to get prior period's balance
SET FILTER TO DATE >= CTOD(MBEGIN) .AND. DATE <= CTOD(EDATE)
SET ESCAPE OFF
SET SAFETY OFF
IF MSELECT = 1 .OR. MSELECT = 5 .OR. MSELECT = 6
* SET INDEX TO DATE,REF,PAYEE,MEMO
SORT ON DATE,REF,PAYEE TO CHECKTMP
ENDIF
IF MSELECT = 2
* SET INDEX TO REF,DATE,PAYEE,MEMO
SORT ON REF, DATE, PAYEE TO CHECKTMP
ENDIF
IF MSELECT = 3
* SET INDEX TO PAYEE,DATE,REF,MEMO
SORT ON PAYEE, DATE, REF TO CHECKTMP
ENDIF
IF MSELECT = 4
* SET INDEX TO MEMO,DATE,REF,PAYEE
SORT ON MEMO, DATE, REF, PAYEE TO CHECKTMP
ENDIF
SET DELETE OFF
RECALL ALL
SET ESCAPE TO RETURN
SET SAFETY ON
USE CHECKTMP
CLEAR
DO WHILE .NOT. EOF()
IF MDEVICE = "P"
SET PRINT ON
IF MLINE = 0
IF MSELECT = 3 .OR. MSELECT = 4 .OR. MSELECT = 5 .OR. MSELECT = 6
? " ",DATE()
? " REF DATE O/S PAYEE / MEMO DEPOSITS CHECKS "
?
ENDIF
IF MSELECT = 1 .OR. MSELECT = 2
? " ",DATE()
? " REF DATE O/S PAYEE / MEMO DEPOSITS CHECKS BALANCE"
?
ENDIF
ENDIF
MLINE = MLINE + 2 && LINE COUNTER FOR FORM FEED
IF MLINE > 60 && FORMFEED
EJECT &&
? " REF DATE O/S PAYEE / MEMO DEPOSITS CHECKS BALANCE"
?
MLINE = 1 &&
ENDIF
ENDIF
MBALANCE = MBALANCE + DEPOSITS - CHECKS
IF MSELECT <> 1 .AND. MSELECT <> 2
? REF, DATE, OS, PAYEE, DEPOSITS, CHECKS
? " ",MEMO
ENDIF
IF MSELECT = 1 .OR. MSELECT = 2
? REF, DATE, OS, PAYEE, DEPOSITS, CHECKS, MBALANCE
? " ",MEMO
ENDIF
SKIP
ENDDO
IF MSELECT <> 5 .AND. MSELECT <> 6
IF MLINE >56
EJECT
ENDIF
?
?
? "Balance per Check Register (Your Balance) = $",STR(MBALANCE,9,2)
?
? "Balance per Bank (Your balance less items O/S) $",STR(MBALANCE-MOUTST,9,2)
?
ENDIF
IF MDEVICE = "P" && TO HOLD PREVIOUS SELECTION
EJECT
STORE "P" TO MDEV
ENDIF
IF MDEVICE = "S"
STORE "S" TO MDEV
ENDIF
SET PRINT OFF
CLEAR TYPEAHEAD
ACCEPT "Do you want to print the outstanding checks ? " TO MPRINTCKS
IF MDEV = "P"
SET PRINT ON
ENDIF
IF MPRINTCKS = "Y" .OR. MPRINTCKS = "y"
USE CHECK && NEED ALL TRANSACTIONS AVAILABLE
GO TOP
? " Outstanding Checks as of ",DATE()
?
DO WHILE .NOT. EOF()
IF OS = 1
? REF, DATE, OS, PAYEE, DEPOSITS, CHECKS
? " ",MEMO
ENDIF
SKIP
ENDDO
? " ======="
? "Total checks outstanding ", MOUTST
ENDIF
IF MDEVICE = "P"
EJECT
ENDIF
SET PRINT OFF
MDEVICE = "S"
CLEAR TYPEAHEAD
WAIT
CLEAR
@ 11,3 TO 13,70
@ 12,8 SAY " Closing Files . . . Please Wait "
CLOSE DATABASES
USE CHECK && RETURN TO MASTER FILE
MSELECT = 7
CLEAR
ENDDO
RETURN